<%--
    Document   : addGasto
    Created on : 07-jun-2011, 19:08:35
    Author     : Jerónimo  Trigueros Vera
--%>
<%@page import="Persistencia.PersistenciaFactura"%>
<%@page import="Clases.FacturacionCliente"%>
<%@page import="Persistencia.PersistenciaFacturacionCliente"%>
<%@page import="Clases.LineaServicioFactura"%>
<%@page import="Persistencia.PersistenciaServicio"%>
<%@page import="Clases.Servicio"%>
<%@page import="Persistencia.PersistenciaCliente"%>
<%@page import="Clases.Cliente"%>
<%@page import="java.util.ArrayList"%>
<%@page import="Clases.TiposIva"%>
<%@page import="Persistencia.PersistenciaTiposIva"%>
<%@page import="java.text.SimpleDateFormat"%>
<%@page import="java.text.DateFormat"%>
<%@page import="Clases.Factura"%>
<%@page import="java.util.List"%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
   "http://www.w3.org/TR/html4/loose.dtd">

<%
    if(request.getParameter("submit10")!=null && request.getParameter("submit10").equals("Guardar") && request.getAttribute("insertado")==null){
        RequestDispatcher rd = request.getRequestDispatcher("SActualizaF?id=Guardar");
        rd.forward(request, response);
           }else if(request.getParameter("submit10")!=null && request.getParameter("submit10").equals("Insertar Linea") && request.getAttribute("linea")==null){
        RequestDispatcher rd = request.getRequestDispatcher("SActualizaF?id=LineaNueva");
        rd.forward(request, response); 
           /*}else if(request.getParameter("submit11")!=null && request.getParameter("submit11").equals("Cargar Facturaciones") && request.getAttribute("facturaciones")==null){
        RequestDispatcher rd = request.getRequestDispatcher("SActualizaF?id=CargaFacturacion");
        rd.forward(request, response);*/   
           }else if(request.getParameter("submit12")!=null && request.getAttribute("insertado")==null){
            int numLinea = Integer.parseInt(request.getParameter("submit12"));
            RequestDispatcher rd = request.getRequestDispatcher("SActualizaF?id=borraLinea&linea="+numLinea+"");
            rd.forward(request, response);                     
        
    }
%>

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>Admin Gestión</title>
        <link type="text/css" rel="stylesheet" href="estilo/pagina.css"/>
    </head>
    <body>
        <%@include file="cabecera.jsp" %>
        <%@include file="menu.jsp" %>
            <div id="contenido">
                <h2 align="center">Ver - Editar Factura</h2><br>

                <% if(request.getAttribute("insertado")!=null && ((Integer)request.getAttribute("insertado"))==1 && request.getAttribute("linea")!=null && (Integer)request.getAttribute("linea")==1){ %>

                     <fieldset style="background-color: lightgreen">
                         <h2 style="color: green;" align="center">Rellene los datos para la nueva linea.</h2>
                     </fieldset><br>
                     <% } else if(request.getAttribute("insertado")!=null && ((Integer)request.getAttribute("insertado"))==1 && request.getAttribute("linea")==null){ %>

                     <fieldset style="background-color: lightgreen">
                         <h2 style="color: green;" align="center">Factura actualizada</h2>
                     </fieldset><br>

                     <% } else if(request.getAttribute("insertado")!=null && ((Integer)request.getAttribute("insertado"))==0){ %>

                     <fieldset style="background-color: #ffccd5">
                         <h2 style="color: red;" align="center">Error al guardar la factura</h2>
                     </fieldset><br>

                    <% } else if(request.getAttribute("insertado")!=null && ((Integer)request.getAttribute("insertado"))==2){ %>

                     <fieldset style="background-color: #ffccd5">
                         <h2 style="color: red;" align="center">¡ Existen campos vacios ! </h2>
                     </fieldset><br>
                     
                     <% }else if(request.getAttribute("cargafacturaciones")!=null && ((Integer)request.getAttribute("cargafacturaciones"))==1 ){ 
                      ArrayList<FacturacionCliente> f = (ArrayList<FacturacionCliente>)request.getAttribute("facturaciones");
                     if(f.isEmpty())
                     {%>
                     <fieldset style="background-color: #ffccd5">
                         <h2 style="color: red;" align="center">No existen facturaciones para este cliente</h2>
                     </fieldset><br>                                             
                    <% } }%>
       
                    <%request.removeAttribute("insertado");
                    DateFormat df = new SimpleDateFormat("dd/MM/yyyy");                        
                    String codFactura=null;
                    Factura factura=null;
                    
                    if( (request.getAttribute("insertado")!=null && (Integer)request.getAttribute("insertado")!=2) || ( (request.getAttribute("insertado")==null) && (request.getParameter("submit11")==null)) ){
                    factura = (Factura)request.getAttribute("factura");
                    codFactura = factura.getCodigo();}
                    if(request.getParameter("submit11")!=null && request.getParameter("submit11").equals("Cargar Facturaciones")){
                    codFactura = request.getParameter("codigofactura");
                    factura = PersistenciaFactura.obtenerFactura(codFactura);%>
                     <%}%>                
                    <form action="editaFactura.jsp" method="post">                            
                    <input type="hidden" name="codigofactura" value="<%= codFactura %>"/>                        
                    <table>                         
                        <tr>
                            
                            <td align="left">
                                <label> Cógido factura: </label>
                            </td>
                        <tr><td align="left">
                                <input type="text" name="codFactura" disabled value="<%= codFactura%>"/>
                            </td></tr>
                        </tr>                        
                        <tr>
                            <td colspan="6">
                                <br>
                            </td>
                        </tr>                        
                        <tr>
                            <td>
                                <label for="fecha">Fecha: </label>
                            </td>    
                            <td>
                                <label for="cliente">Cliente: </label>
                            </td>    
                            <td>
                                <label for="nif">CIF</label>
                            </td>
                            <td>
                                <label for="tipoiva">Tipo IVA:</label>
                            </td>
                            <td>
                                <label for="retencion">Retencion:</label>
                            </td>
                        </tr>
                        <tr>
                            <td>
                                <input type="text" name="fecha" value="<%=df.format(factura.getFecha()) %>"/>                             
                            </td>
                            <td>
                                <% List<Cliente> clientes = PersistenciaCliente.obtenerClientes(); %>
                                <select name = "cliente">
                                    <option value="Seleccione Cliente">Seleccione Cliente</option>
                                    <% for(Cliente cliente:clientes)
                                    {
                                        if(cliente.getCodigoCliente().compareTo(factura.getFacturacionCliente().getCodigoCliente())==0){%>                                                    
                                        <option selected value= "<%=cliente.getCodigoCliente()%>"> <%=cliente%> </option>
                                        <%} else {%>
                                        <option value= "<%=cliente.getCodigoCliente()%>"> <%=cliente%> </option>                                                
                                <%}}%></select>                                    
                            </td>
                            
                            <%ArrayList<FacturacionCliente> nifs = (ArrayList<FacturacionCliente>)PersistenciaFacturacionCliente.obtenerFacturacionesCliente(factura.getFacturacionCliente().getCliente());%>                            
                            <%if( request.getParameter("submit11")==null){%>
                                <td>                               
                                    <select name ="nif">
                                        <option value="Seleccione CIF">Seleccione CIF</option>
                                        <%for(FacturacionCliente fc:nifs)
                                        {
                                            if(fc.getNif().compareTo(factura.getFacturacionCliente().getNif())==0)
                                            {%>
                                            <option selected value= "<%=fc.getNif()%>"> <%=fc.getNif()%> </option>
                                            <%} else {%>
                                            <option value= "<%=fc.getNif()%>"> <%=fc.getNif()%></option>                                               
                                            <%}}%>                                                                        
                                    </select>                                                                 
                                </td>                                                                                                                                                        
                            <%}else if(request.getParameter("submit11")!=null && request.getParameter("submit11").equals("Cargar Facturaciones"))
                            {
                            String cliente = request.getParameter("cliente");
                            Cliente c = PersistenciaCliente.obtenerCliente(cliente);
                            ArrayList<FacturacionCliente> facturaciones = (ArrayList<FacturacionCliente>)PersistenciaFacturacionCliente.obtenerFacturacionesCliente(c);
                            
                                if(!facturaciones.isEmpty()){%>                             
                                <td>                               
                                    <select name ="nif">
                                        <option value="Seleccione CIF">Seleccione CIF</option>
                                        <%for(FacturacionCliente fc:facturaciones)
                                        {%>
                                            <option value= "<%=fc.getNif()%>"> <%=fc.getNif()%></option>                                               
                                            <%}%>                                                                        
                                    </select>                                                                 
                                </td>
                                
                            <%}else {%>
                            <td>
                                <select name="nif">
                                    <option value="No hay facturaciones">No hay facturaciones</option>                                                          
                                </select>                                    
                            </td>  
                            <%}}%>
                            

                            <td>
                                <% List<TiposIva> ivas = PersistenciaTiposIva.obtenerTiposIva(); %>
                                <select name = "tipoiva">
                                    <option value="Seleccione Tipo IVA">Seleccione Tipo IVA</option>
                                    <% for(TiposIva iva:ivas)
                                    {
                                        if(iva.getDescripcion().compareTo(factura.getTipoIva().getDescripcion())==0){%>
                                        <option selected value= "<%=iva.getDescripcion()%>"> <%=iva%>%</option>
                                        <%}else{%>
                                        <option value= "<%=iva.getDescripcion()%>"> <%=iva%>%</option>
                                <%}}%>                                 
                                </select>                                                                                                   
                            </td>                            
                            <td>                           
                                <input type="text" name="retencion" value="<%=factura.getRetencion() %>"/>                                                             
                            </td>
                        </tr>
                        <tr>
                            <td></td><td></td><td><input type="submit" value="Cargar Facturaciones" name="submit11"/></td>
                        </tr>
                        
                        
                        <tr>
                            <td colspan="5"><br><br></td>
                        </tr>                   
                        <tr><td><u><b>Líneas de factura:</b><u><br></td></tr>                                          
                        <tr>
                            <td></td>
                            <% if(!factura.getLineas().isEmpty() ||  (request.getAttribute("linea")!=null && (Integer)request.getAttribute("linea")==1)){%>
                            <td>
                                <label>Servicios </label>
                            </td>  
                            <td>
                                <label>Cantidad </label>
                            </td>
                            <td>
                                <label>Precio </label>
                            </td> 
                            <%}else{%>
                            <td><h3><font color="yellow">No existen lineas de factura actualmente</font></h3></td>
                        <%}%>
                        </tr>  
                        

                     
                        <tr>
                            <%ArrayList<LineaServicioFactura> lineas = factura.getLineas();%>      
                            <% int i=0;%>
                            <%for(LineaServicioFactura l:lineas){%>
                            <tr>
                                <td align="right"><label> Linea <%=i%></label></td>
                                <td align="left">                                      
                                    <% List<Servicio> servicios = PersistenciaServicio.obtenerServicios(); %>
                                        <select name = "servicio<%=i%>">                                           
                                        <option value="Seleccione un Servicio">Seleccione un Servicio</option>
                                        <% for(Servicio servicio:servicios)
                                        { if(l.getServicio().getNombre().compareTo(servicio.getNombre())==0){%>
                                            <option selected value= "<%=servicio%>"> <%=servicio%> </option>                                                                                  
                                        <%}else{%>
                                            <option value= "<%=servicio%>"> <%=servicio%> </option>
                                        <%} }%>    
                                        </select>
                                </td>
                                <td>                                                                                        
                                    <input type="text" name="cantidad<%=i%>"  value="<%=l.getCantidad() %>"/>                                    
                                </td>
                                <td>                              
                                    <input type="text" name="precio<%=i%>" value="<%=l.getPrecioUnidad() %>"/>                                                                                                
                                </td> 
                                <td>
                                    <button type="submit" style="border: 0;background-color: transparent" value="<%=i%>" name="submit12"/><img src="img/icono_borrar.png"/></button>                                    
                                </td>  
                                <%i++;%>                                
                            </tr>
                            <%}%>                                                      
                        </tr>
                        <%if(request.getAttribute("linea")!=null && (Integer)request.getAttribute("linea")==1){%>
                          <tr>
                            <td align="right"><label> Linea <%=i%></label></td>
                            <td align="left">                                      
                                <% List<Servicio> servicios = PersistenciaServicio.obtenerServicios(); %>
                                    <select style="border:2px solid brown;" name = "servicio<%=i%>">                                           
                                    <option value="Seleccione un Servicio">Seleccione un Servicio</option>
                                    <% for(Servicio servicio:servicios)
                                    {%>
                                        <option value= "<%=servicio%>"> <%=servicio%> </option>                                                                                                                     
                                    <%}%>    
                                    </select>
                            </td>
                            <td><input style="border:2px solid brown;" type="text" value="0.0" name="cantidad<%=i%>"/></td> 
                            <td><input style="border:2px solid brown;" type="text" value="0.0" name="precio<%=i%>"/></td>   
                            <td>
                                 <button type="submit" style="border: 0;background-color: transparent" value="<%=i%>" name="submit12"/><img src="img/icono_borrar.png"/></button>                                    
                            </td>                                  
                        </tr> 
                            <%i++;}%>    
                        <input type="hidden" name="lineas" value="<%=i%>"/>                           
                        
                            
                        
                        <tr align="left"> 
                            <td></td>
                        <%if(request.getAttribute("linea")==null){%>                            
                                <td align="left">
                                    <input type="submit" value="Insertar Linea" name="submit10"/>
                                </td>
                        <%}%>  
                        <%if(request.getAttribute("linea")!=null && (Integer)request.getAttribute("linea")==1){%>
                                <td></td>
                                <td align="right"><label><b>Base imponible:</b></label></td>
                                <td align="right"><input type="text" disabled name="baseimponible" value="<%=factura.getTotalBaseImponible()+" €." %>"/>   </td>
                        <%}else{%>
                                <td align="right"><label><b>Base imponible:</b></label></td>
                                <td align="right"><input type="text" disabled name="baseimponible" value="<%=factura.getTotalBaseImponible()+" €." %>"/>   </td>                                
                        <%}%>                        
                        </tr>                        
                        <tr align="left">
                            <td></td>
                            <td></td>
                            <td align="right"><label><b>Total factura:</b></label></td>                            
                            <td align="right"><input type="text" disabled name="totalfactura" value="<%=factura.getTotalFactura()+" €." %>"/></td>
                        </tr>
                        <!--<tr>
                            <td colspan="5" align="left">
                                <input type="submit" value="Insertar Linea" name="submit10"/>
                            </td>                            
                        </tr> -->
                        
                        
                        
                        <tr>
                            <td colspan="5" align="right">
                                <input type="submit" value="Guardar" name="submit10"/>
                            </td>
                        </tr> 
                        

                        
                        
                        
                    </table>
                </form>
            </div>
        <div id="pie">
<%//}%>
        </div>
    </body>
</html>

